package hub.cathome.mapper;

import hub.cathome.entity.User;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

import java.util.List;
@Component("userMapper")
public interface UserMapper {
    /**
     * 向数据库中插入一条 用户信息
     * **/
    int insertUser(User user);
    /**
     * 更新数据库中的 用户信息
     * **/
    int updateUser(User user);
    /**
     * 删除数据库中的 用户信息
     * **/
    int deleteUser(Integer id);
    /**
     * 通过用户Id获得一条 用户信息
     * **/
    User getUserById(Integer id);
    List<User> getAllUser();
    /**
     * 获得用户名或昵称等于给定 文本的用户数目
     * **/
    int getUserCountByComplexName(String complexName);
    /**
     * 获得用户名或昵称等于给定 文本的用户，只会返回1.我们需要保证唯一性。
     * **/
    User getUserByComplexName(String complexName);
    /**
     * 根据List的每一个Id获得用户列表
     * **/
    List<User> getUserByListId(@Param("id") List<Integer> id);

}
